Ext.define('cp.view.form.BuscarLicencia',{
    alias: 'widget.buscarLicencia',
    extend: 'Ext.form.Panel',
   
    bodyPadding: '5px 5px 5px 5px', 
    bodyStyle: 'border: none',
    fieldDefaults: {
        labelWidth: 65,
        labelAlign: 'top'
    },
   
    initComponent: function(){

       var dsMedico = Ext.create('cp.store.form.MedicoActivo',{});

       var action = this.actionUrl;
       
       var info = [
            { fieldLabel: 'Médico', name: 'medico', xtype: 'combobox', 
              valueField: 'idUsuario', displayField: 'nombre', store: dsMedico
            },
            { fieldLabel:  'Fecha estimada', name: 'fecha', xtype: 'datefield',
              format: 'Y-m-d'},
        ];
        
        this.items = [
            {
                bodyStyle: 'border: none',
                layout: 'column',
                itemId: 'columnas',
                items: [
                    {
                        xtype: 'fieldset', defaultType: 'textfield', title: 'Criterios', 
                        layout: 'column', items:
                        [
                            {xtype: 'fieldset', defaultType: 'textfield', style: 'border: none',
                                items: info}
                        ]
                    }
              ]
            }
         ];  
        
        
        this.callParent(arguments);
    },
    submitForm: function(){
        if(this.validarCampos()){
            this.procesarBusqueda();
        }else{
            this.showNoDataInputErr();
        }
    },
    showNoDataInputErr: function(){
        Ext.create('cp.view.ui.AlertErr',{
            mensaje: "No se ha seleccionado ningún criterio de búsqueda. Debe seleccionar al menos uno."
        }).showDialog(); 
    },
    validarCampos: function(){
        var vacios = 0;
        if(this.getForm().findField('medico').getSubmitData() === null){
            vacios++;
        }
        if(this.getForm().findField('fecha').getSubmitData() === null){
            vacios++;
        }
        return (vacios == 2) ? false : true;
    },
    procesarBusqueda: function(){
        var me = this;
        var store = Ext.create('cp.store.grid.LicenciasFiltradas',{});
        store.load({
           params:{
               medico: me.getForm().findField('medico').getSubmitData(),
               fecha: me.getForm().findField('fecha').getSubmitData()
           },
           callback: function(records, options, success){
               //console.log(records);
               
               
                    var grid = Ext.ComponentQuery.query('gestionLicencia')[0];
                    grid.getView().bindStore(this);
               
           }
        });
    },
    clearForm: function(){
        var fields = this.getForm().getFields();
        fields.each(function(item,index,length){
           item.reset() 
        });
    }
});